﻿using Mes.Application.DTO.Inputs.MasterData;
using Mes.Application.DTO.Results.MasterData;
using Mes.Domain.BoundedContext;

namespace Mes.Application.Services.MasterData
{
    public interface IMeasuringUnitTypeService
    {
        /// <summary>
        /// 添加计量单位类型
        /// </summary>
        /// <param name="measuringUnitTypeInput"></param>
        /// <returns></returns>
        Task AddMeasuringUnitTypeAsync(MeasuringUnitTypeInput measuringUnitTypeInput);

        /// <summary>
        /// 修改计量单位类型
        /// </summary>
        /// <param name="measuringUnitTypeUpdateInput"></param>
        /// <returns></returns>
        Task UpdateMeasuringUnitTypeAsync(MeasuringUnitTypeUpdateInput measuringUnitTypeUpdateInput);

        /// <summary>
        /// 删除计量单位类型
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        Task DeleteMeasuringUnitTypeAsync(int[] ids);

        /// <summary>
        /// 根据主键编号查询计量单位类型
        /// </summary>
        /// <param name="id"></param>
        /// <returns>MeasuringUnitTypeResult</returns>
        Task<MeasuringUnitTypeResult> GetMeasuringUnitTypeAsync(int id);

        /// <summary>
        /// 分页查询计量单位类型
        /// </summary>
        /// <param name="measuringUnitTypePageInput"></param>
        /// <returns>PagedItemsData<MeasuringUnitTypeResult></returns>
        Task<PagedItemsData<MeasuringUnitTypeResult>> GetMeasuringUnitTypesAsync(MeasuringUnitTypePageInput measuringUnitTypePageInput);
    }
}
